module Proxy.Upgrade where
import Proxy.UnitTypes
import Proxy.UpgradeTypes

whatResearches TerranInfantryArmor = TerranEngineeringBay
whatResearches TerranVehiclePlating = TerranArmory
whatResearches TerranShipPlating = TerranArmory
whatResearches ZergCarapace = ZergEvolutionChamber
whatResearches ZergFlyerCarapace = ZergSpire
whatResearches ProtossArmor = ProtossForge
whatResearches ProtossPlating = ProtossCyberneticsCore
whatResearches TerranInfantryWeapons = TerranEngineeringBay
whatResearches TerranVehicleWeapons = TerranArmory
whatResearches TerranShipWeapons = TerranArmory
whatResearches ZergMeleeAttacks = ZergEvolutionChamber
whatResearches ZergMissileAttacks = ZergEvolutionChamber
whatResearches ZergFlyerAttacks = ZergSpire
whatResearches ProtossGroundWeapons = ProtossForge
whatResearches ProtossAirWeapons = ProtossCyberneticsCore
whatResearches ProtossPlasmaShields = ProtossForge
whatResearches U238Shells = TerranAcademy
whatResearches IonThrusters = TerranMachineShop
whatResearches TitanReactor = TerranScienceFacility
whatResearches OcularImplants = TerranCovertOps
whatResearches MoebiusReactor = TerranCovertOps
whatResearches ApolloReactor = TerranControlTower
whatResearches ColossusReactor = TerranPhysicsLab
whatResearches VentralSacs = ZergLair
whatResearches Antennae = ZergLair
whatResearches PneumatizedCarapace = ZergLair
whatResearches MetabolicBoost = ZergSpawningPool
whatResearches AdrenalGlands = ZergSpawningPool
whatResearches MuscularAugments = ZergHydraliskDen
whatResearches GroovedSpines = ZergHydraliskDen
whatResearches GameteMeiosis = ZergQueensNest
whatResearches MetasynapticNode = ZergDefilerMound
whatResearches SingularityCharge = ProtossCyberneticsCore
whatResearches LegEnhancements = ProtossCitadelofAdun
whatResearches ScarabDamage = ProtossRoboticsSupportBay
whatResearches ReaverCapacity = ProtossRoboticsSupportBay
whatResearches GraviticDrive = ProtossRoboticsSupportBay
whatResearches SensorArray = ProtossObservatory
whatResearches GraviticBoosters = ProtossObservatory
whatResearches KhaydarinAmulet = ProtossTemplarArchives
whatResearches ApialSensors = ProtossTemplarArchives
whatResearches GraviticThrusters = ProtossFleetBeacon
whatResearches CarrierCapacity = ProtossFleetBeacon
whatResearches KhaydarinCore = ProtossArbiterTribunal
whatResearches ArgusJewel = ProtossFleetBeacon
whatResearches ArgusTalisman = ProtossTemplarArchives
whatResearches CaduceusReactor = TerranAcademy
whatResearches ChitinousPlating = ZergUltraliskCavern
whatResearches AnabolicSynthesis = ZergUltraliskCavern
whatResearches CharonBooster = TerranMachineShop
whatResearches NoneUpgrade = NoneUnitType
whatResearches UnknownUpgrade = NoneUnitType

gasBase TerranInfantryArmor = 75
gasBase TerranVehiclePlating = 75
gasBase TerranShipPlating = 75
gasBase ZergCarapace = 75
gasBase ZergFlyerCarapace = 75
gasBase ProtossArmor = 75
gasBase ProtossPlating = 75
gasBase TerranInfantryWeapons = 75
gasBase TerranVehicleWeapons = 75
gasBase TerranShipWeapons = 50
gasBase ZergMeleeAttacks = 50
gasBase ZergMissileAttacks = 50
gasBase ZergFlyerAttacks = 75
gasBase ProtossGroundWeapons = 50
gasBase ProtossAirWeapons = 75
gasBase ProtossPlasmaShields = 100
gasBase U238Shells = 0
gasBase IonThrusters = 0
gasBase TitanReactor = 0
gasBase OcularImplants = 0
gasBase MoebiusReactor = 0
gasBase ApolloReactor = 0
gasBase ColossusReactor = 0
gasBase VentralSacs = 0
gasBase Antennae = 0
gasBase PneumatizedCarapace = 0
gasBase MetabolicBoost = 0
gasBase AdrenalGlands = 0
gasBase MuscularAugments = 0
gasBase GroovedSpines = 0
gasBase GameteMeiosis = 0
gasBase MetasynapticNode = 0
gasBase SingularityCharge = 0
gasBase LegEnhancements = 0
gasBase ScarabDamage = 0
gasBase ReaverCapacity = 0
gasBase GraviticDrive = 0
gasBase SensorArray = 0
gasBase GraviticBoosters = 0
gasBase KhaydarinAmulet = 0
gasBase ApialSensors = 0
gasBase GraviticThrusters = 0
gasBase CarrierCapacity = 0
gasBase KhaydarinCore = 0
gasBase ArgusJewel = 0
gasBase ArgusTalisman = 0
gasBase CaduceusReactor = 0
gasBase ChitinousPlating = 0
gasBase AnabolicSynthesis = 0
gasBase CharonBooster = 0
gasBase NoneUpgrade = 0
gasBase UnknownUpgrade = 0

mineralsFactor TerranInfantryArmor = 75
mineralsFactor TerranVehiclePlating = 75
mineralsFactor TerranShipPlating = 75
mineralsFactor ZergCarapace = 75
mineralsFactor ZergFlyerCarapace = 75
mineralsFactor ProtossArmor = 75
mineralsFactor ProtossPlating = 75
mineralsFactor TerranInfantryWeapons = 75
mineralsFactor TerranVehicleWeapons = 75
mineralsFactor TerranShipWeapons = 50
mineralsFactor ZergMeleeAttacks = 50
mineralsFactor ZergMissileAttacks = 50
mineralsFactor ZergFlyerAttacks = 75
mineralsFactor ProtossGroundWeapons = 50
mineralsFactor ProtossAirWeapons = 75
mineralsFactor ProtossPlasmaShields = 100
mineralsFactor U238Shells = 0
mineralsFactor IonThrusters = 0
mineralsFactor TitanReactor = 0
mineralsFactor OcularImplants = 0
mineralsFactor MoebiusReactor = 0
mineralsFactor ApolloReactor = 0
mineralsFactor ColossusReactor = 0
mineralsFactor VentralSacs = 0
mineralsFactor Antennae = 0
mineralsFactor PneumatizedCarapace = 0
mineralsFactor MetabolicBoost = 0
mineralsFactor AdrenalGlands = 0
mineralsFactor MuscularAugments = 0
mineralsFactor GroovedSpines = 0
mineralsFactor GameteMeiosis = 0
mineralsFactor MetasynapticNode = 0
mineralsFactor SingularityCharge = 0
mineralsFactor LegEnhancements = 0
mineralsFactor ScarabDamage = 0
mineralsFactor ReaverCapacity = 0
mineralsFactor GraviticDrive = 0
mineralsFactor SensorArray = 0
mineralsFactor GraviticBoosters = 0
mineralsFactor KhaydarinAmulet = 0
mineralsFactor ApialSensors = 0
mineralsFactor GraviticThrusters = 0
mineralsFactor CarrierCapacity = 0
mineralsFactor KhaydarinCore = 0
mineralsFactor ArgusJewel = 0
mineralsFactor ArgusTalisman = 0
mineralsFactor CaduceusReactor = 0
mineralsFactor ChitinousPlating = 0
mineralsFactor AnabolicSynthesis = 0
mineralsFactor CharonBooster = 0
mineralsFactor NoneUpgrade = 0
mineralsFactor UnknownUpgrade = 0

gasFactor TerranInfantryArmor = 75
gasFactor TerranVehiclePlating = 75
gasFactor TerranShipPlating = 75
gasFactor ZergCarapace = 75
gasFactor ZergFlyerCarapace = 75
gasFactor ProtossArmor = 75
gasFactor ProtossPlating = 75
gasFactor TerranInfantryWeapons = 75
gasFactor TerranVehicleWeapons = 75
gasFactor TerranShipWeapons = 50
gasFactor ZergMeleeAttacks = 50
gasFactor ZergMissileAttacks = 50
gasFactor ZergFlyerAttacks = 75
gasFactor ProtossGroundWeapons = 50
gasFactor ProtossAirWeapons = 75
gasFactor ProtossPlasmaShields = 100
gasFactor U238Shells = 0
gasFactor IonThrusters = 0
gasFactor TitanReactor = 0
gasFactor OcularImplants = 0
gasFactor MoebiusReactor = 0
gasFactor ApolloReactor = 0
gasFactor ColossusReactor = 0
gasFactor VentralSacs = 0
gasFactor Antennae = 0
gasFactor PneumatizedCarapace = 0
gasFactor MetabolicBoost = 0
gasFactor AdrenalGlands = 0
gasFactor MuscularAugments = 0
gasFactor GroovedSpines = 0
gasFactor GameteMeiosis = 0
gasFactor MetasynapticNode = 0
gasFactor SingularityCharge = 0
gasFactor LegEnhancements = 0
gasFactor ScarabDamage = 0
gasFactor ReaverCapacity = 0
gasFactor GraviticDrive = 0
gasFactor SensorArray = 0
gasFactor GraviticBoosters = 0
gasFactor KhaydarinAmulet = 0
gasFactor ApialSensors = 0
gasFactor GraviticThrusters = 0
gasFactor CarrierCapacity = 0
gasFactor KhaydarinCore = 0
gasFactor ArgusJewel = 0
gasFactor ArgusTalisman = 0
gasFactor CaduceusReactor = 0
gasFactor ChitinousPlating = 0
gasFactor AnabolicSynthesis = 0
gasFactor CharonBooster = 0
gasFactor NoneUpgrade = 0
gasFactor UnknownUpgrade = 0

mineralsBase TerranInfantryArmor = 100
mineralsBase TerranVehiclePlating = 100
mineralsBase TerranShipPlating = 150
mineralsBase ZergCarapace = 150
mineralsBase ZergFlyerCarapace = 150
mineralsBase ProtossArmor = 100
mineralsBase ProtossPlating = 150
mineralsBase TerranInfantryWeapons = 100
mineralsBase TerranVehicleWeapons = 100
mineralsBase TerranShipWeapons = 100
mineralsBase ZergMeleeAttacks = 100
mineralsBase ZergMissileAttacks = 100
mineralsBase ZergFlyerAttacks = 100
mineralsBase ProtossGroundWeapons = 100
mineralsBase ProtossAirWeapons = 100
mineralsBase ProtossPlasmaShields = 200
mineralsBase U238Shells = 150
mineralsBase IonThrusters = 100
mineralsBase TitanReactor = 150
mineralsBase OcularImplants = 100
mineralsBase MoebiusReactor = 150
mineralsBase ApolloReactor = 200
mineralsBase ColossusReactor = 150
mineralsBase VentralSacs = 200
mineralsBase Antennae = 150
mineralsBase PneumatizedCarapace = 150
mineralsBase MetabolicBoost = 100
mineralsBase AdrenalGlands = 200
mineralsBase MuscularAugments = 150
mineralsBase GroovedSpines = 150
mineralsBase GameteMeiosis = 150
mineralsBase MetasynapticNode = 150
mineralsBase SingularityCharge = 150
mineralsBase LegEnhancements = 150
mineralsBase ScarabDamage = 200
mineralsBase ReaverCapacity = 200
mineralsBase GraviticDrive = 200
mineralsBase SensorArray = 150
mineralsBase GraviticBoosters = 150
mineralsBase KhaydarinAmulet = 150
mineralsBase ApialSensors = 100
mineralsBase GraviticThrusters = 200
mineralsBase CarrierCapacity = 100
mineralsBase KhaydarinCore = 150
mineralsBase ArgusJewel = 100
mineralsBase ArgusTalisman = 150
mineralsBase CaduceusReactor = 150
mineralsBase ChitinousPlating = 150
mineralsBase AnabolicSynthesis = 200
mineralsBase CharonBooster = 100
mineralsBase NoneUpgrade = 0
mineralsBase UnknownUpgrade = 0

repeats TerranInfantryArmor = 3
repeats TerranVehiclePlating = 3
repeats TerranShipPlating = 3
repeats ZergCarapace = 3
repeats ZergFlyerCarapace = 3
repeats ProtossArmor = 3
repeats ProtossPlating = 3
repeats TerranInfantryWeapons = 3
repeats TerranVehicleWeapons = 3
repeats TerranShipWeapons = 3
repeats ZergMeleeAttacks = 3
repeats ZergMissileAttacks = 3
repeats ZergFlyerAttacks = 3
repeats ProtossGroundWeapons = 3
repeats ProtossAirWeapons = 3
repeats ProtossPlasmaShields = 3
repeats U238Shells = 1
repeats IonThrusters = 1
repeats TitanReactor = 1
repeats OcularImplants = 1
repeats MoebiusReactor = 1
repeats ApolloReactor = 1
repeats ColossusReactor = 1
repeats VentralSacs = 1
repeats Antennae = 1
repeats PneumatizedCarapace = 1
repeats MetabolicBoost = 1
repeats AdrenalGlands = 1
repeats MuscularAugments = 1
repeats GroovedSpines = 1
repeats GameteMeiosis = 1
repeats MetasynapticNode = 1
repeats SingularityCharge = 1
repeats LegEnhancements = 1
repeats ScarabDamage = 1
repeats ReaverCapacity = 1
repeats GraviticDrive = 1
repeats SensorArray = 1
repeats GraviticBoosters = 1
repeats KhaydarinAmulet = 1
repeats ApialSensors = 1
repeats GraviticThrusters = 1
repeats CarrierCapacity = 1
repeats KhaydarinCore = 1
repeats ArgusJewel = 1
repeats ArgusTalisman = 1
repeats CaduceusReactor = 1
repeats ChitinousPlating = 1
repeats AnabolicSynthesis = 1
repeats CharonBooster = 1
repeats NoneUpgrade = 0
repeats UnknownUpgrade = 0

